Three zones hydronic heating
The previous tutorials provided idealized, somewhat unrealistic examples. In this tutorial, we will simulate a three-zone building with a hydronic heating system, creating a more realistic house model.
As usual, the configuration file will be presented and explained. Here are some key points to note regarding the configuration file:
-
Default Construction Values: Trano includes a set of predefined construction, glazing, and gas properties that can be imported into your configuration file. To use them, add the following line:
-
Emissions Systems: Each space is assigned a list of emission systems. Each system is linked to a radiator object (RADIATOR:001) and a valve object (VALVE:001). The valve is controlled instead of the radiator:
-
Defining the Hydronic System: It is essential to define the complete hydronic system, which includes the boiler, pump, and various valves:
systems: - boiler: id: BOILER:001 control: boiler_control: - pump: id: PUMP:001 control: collector_control: outlets: - THREE_WAY_VALVE:001 - THREE_WAY_VALVE:002 inlets: - BOILER:001 - split_valve: id: SPLIT_VALVE:001 inlets: - VALVE:003 - VALVE:001 outlets: - BOILER:001 - three_way_valve: id: THREE_WAY_VALVE:001 control: three_way_valve_control: outlets: - TEMPERATURE_SENSOR:001 - SPLIT_VALVE:001 - temperature_sensor: id: TEMPERATURE_SENSOR:001 outlets: - RADIATOR:001 - RADIATOR:003 - split_valve: id: SPLIT_VALVE:002 inlets: - VALVE:002 outlets: - BOILER:001 - three_way_valve: id: THREE_WAY_VALVE:002 control: three_way_valve_control: outlets: - TEMPERATURE_SENSOR:002 - SPLIT_VALVE:002 - temperature_sensor: id: TEMPERATURE_SENSOR:002 inlets: - THREE_WAY_VALVE:002 outlets: - RADIATOR:002
Input configuration file
The described configuration represents a multi-room building with a combination of different internal and external spaces. It includes:
- Construction Details:
- Materials: The walls and floors are composed of materials with thermal conductivity of 0.035, a density of 2000 kg/m³, and a specific heat capacity of 1000 J/(kg·K), indicating good insulation properties.
-
Constructions: The building features cavity walls and concrete slabs.
-
Space Allocation:
-
There are three distinct spaces (rooms), each with specific dimensions and occupancy parameters, including floor area and ceiling height.
-
Heating System:
-
The building is equipped with a centralized heating system, featuring radiators controlled by valves and a boiler for heating water.
-
Ventilation and Temperature Control:
- Various sensors and three-way valves manage the flow of heating, suggesting a focus on maintaining comfort and energy efficiency.
Overall, this configuration suggests a residential building designed for efficient thermal performance and effective heating management, with clearly defined living spaces and infrastructure for heating control.
default: !include_default
material:
- id: MATERIAL:001
thermal_conductivity: 0.035
density: 2000.0
specific_heat_capacity: 1000.0
- id: MATERIAL:002
thermal_conductivity: 0.035
density: 2000.0
specific_heat_capacity: 1000.0
- id: MATERIAL:003
thermal_conductivity: 0.035
density: 2000.0
specific_heat_capacity: 1000.0
constructions:
- id: CONSTRUCTION:001
layers:
- material: MATERIAL:001
thickness: 0.1
- material: MATERIAL:002
thickness: 0.1
- material: MATERIAL:003
thickness: 0.1
spaces:
- occupancy:
parameters:
floor_area: 100.0
average_room_height: 2.5
id: SPACE:001
external_boundaries:
external_walls:
- surface: 20
azimuth: 0
tilt: wall
construction: CAVITYWALL:001
- surface: 30
azimuth: 90
tilt: wall
construction: CAVITYWALL:001
- surface: 50
azimuth: 180.0
tilt: wall
construction: CAVITYWALL:001
windows:
- surface: 5.0
construction: EPCDOUBLE:001
azimuth: 0
tilt: wall
- surface: 2.0
construction: EPCDOUBLE:001
azimuth: 180.0
tilt: wall
floor_on_grounds:
- surface: 120
construction: CONCRETESLAB:001
emissions:
- radiator:
id: RADIATOR:003
- valve:
id: VALVE:003
control:
emission_control:
- occupancy:
parameters:
floor_area: 70
average_room_height: 2.5
id: SPACE:002
external_boundaries:
external_walls:
- surface: 25
azimuth: 0
tilt: wall
construction: CAVITYWALLPARTIALFILL:001
- surface: 25
azimuth: 90
tilt: wall
construction: CAVITYWALLPARTIALFILL:001
- surface: 34
azimuth: 180
tilt: wall
construction: CAVITYWALLPARTIALFILL:001
windows:
- surface: 5.0
construction: INS2AR2020:001
azimuth: 0
tilt: wall
- surface: 2.0
construction: INS2AR2020:001
azimuth: 180
tilt: wall
floor_on_grounds:
- surface: 60
construction: CONCRETESLAB:001
emissions:
- radiator:
id: RADIATOR:001
- valve:
id: VALVE:001
control:
emission_control:
- occupancy:
parameters:
floor_area: 50.0
average_room_height: 2.5
id: SPACE:003
external_boundaries:
external_walls:
- surface: 22
azimuth: 180.0
tilt: wall
construction: CONSTRUCTION:001
- surface: 17
azimuth: 180.0
tilt: wall
construction: CONSTRUCTION:001
- surface: 36
azimuth: 180.0
tilt: wall
construction: CONSTRUCTION:001
floor_on_grounds:
- surface: 60.0
construction: CONCRETESLAB:001
emissions:
- radiator:
id: RADIATOR:002
- valve:
id: VALVE:002
control:
emission_control:
internal_walls:
- space_1: SPACE:001
space_2: SPACE:002
construction: CAVITYWALL:001
surface: 20
- space_1: SPACE:002
space_2: SPACE:001
construction: CONSTRUCTION:001
surface: 15
- space_1: SPACE:002
space_2: SPACE:003
construction: CAVITYWALLPARTIALFILL:001
surface: 22
systems:
- boiler:
id: BOILER:001
control:
boiler_control:
- pump:
id: PUMP:001
control:
collector_control:
outlets:
- THREE_WAY_VALVE:001
- THREE_WAY_VALVE:002
inlets:
- BOILER:001
- split_valve:
id: SPLIT_VALVE:001
inlets:
- VALVE:003
- VALVE:001
outlets:
- BOILER:001
- three_way_valve:
id: THREE_WAY_VALVE:001
control:
three_way_valve_control:
outlets:
- TEMPERATURE_SENSOR:001
- SPLIT_VALVE:001
- temperature_sensor:
id: TEMPERATURE_SENSOR:001
outlets:
- RADIATOR:001
- RADIATOR:003
- split_valve:
id: SPLIT_VALVE:002
inlets:
- VALVE:002
outlets:
- BOILER:001
- three_way_valve:
id: THREE_WAY_VALVE:002
control:
three_way_valve_control:
outlets:
- TEMPERATURE_SENSOR:002
- SPLIT_VALVE:002
- temperature_sensor:
id: TEMPERATURE_SENSOR:002
inlets:
- THREE_WAY_VALVE:002
outlets:
- RADIATOR:002
Code
The following code snippet demonstrates how to simulate a multizone model using Trano. This simulation generates a comprehensive report that includes a detailed description of parameters and accompanying figures.
from trano.main import simulate_model
from trano.simulate.simulate import SimulationLibraryOptions
simulate_model(
"./three_zones_hydronic_heating.yaml",
SimulationLibraryOptions(
start_time=0,
end_time=2 * 3600 * 24 * 7,
tolerance=1e-4,
library_name="Buildings",
),
)
General Explanation
This code snippet imports a function to simulate a model using configuration settings defined in a YAML file. It specifies parameters like time duration, tolerance, and the library to use for simulations.
Parameters Description
- Path to Model File:
"./three_zones_hydronic_heating.yaml" -
Specifies the location of the simulation model configuration file.
-
SimulationLibraryOptions:
-
start_time:
0- The time at which the simulation starts, in seconds.
-
end_time:
2 * 3600 * 24 * 7- The total simulation duration, calculated here to be two weeks in seconds.
-
tolerance:
1e-4- The acceptable numerical tolerance for the simulation results.
-
library_name:
"Buildings"- The name of the library utilized for the simulation.
Outputs
The following report was generated by Trano after simulating the three-zone building with an ideal heating system.
Spaces
| hRoo | AFlo | linearizeRadiation | m_flow_nominal | mSenFac | T_start | volume |
|---|---|---|---|---|---|---|
| 2.5 | 100.0 | true | 0.01 | 1.0 | 294.15 | 250.0 |
| gain | k | occupancy | name |
|---|---|---|---|
| [35; 70; 30] | 1/6/4 | 3600 * {7, 19} | occupancy_1 |
| Name | Azimuth | Construction Name | Surface | Tilt | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| externalwall_0 | 0.0 | cavitywall_001 | 20.0 | wall | |||||||||||||||
| externalwall_1 | 90.0 | cavitywall_001 | 30.0 | wall | |||||||||||||||
| externalwall_2 | 180.0 | cavitywall_001 | 50.0 | wall | |||||||||||||||
| window_0 | 0.0 | epcdouble_001 | 5.0 | wall | |||||||||||||||
| window_1 | 180.0 | epcdouble_001 | 2.0 | wall | |||||||||||||||
| flooronground_0 | 90.0 | concreteslab_001 | 120.0 | floor | |||||||||||||||
| internal_space_001_space_002_cavitywall | 10.0 | cavitywall_001 | 20.0 | wall | |||||||||||||||
| internal_space_002_space_001_construction | 10.0 | construction_001 | 15.0 | wall |
| TAir_nominal | dp_nominal | n | deltaM | fraRad | Q_flow_nominal | nEle | TRad_nominal | linearized | from_dp | T_a_nominal | T_b_nominal | mDry | VWat | name |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 293.15 | 0.0 | 1.24 | 0.01 | 0.3 | 2000.0 | 1 | 293.15 | false | false | 363.15 | 353.15 | 52.6 | 0.116 | radiator_003 |
| dpFixed_nominal | dpValve_nominal | deltaM | m_flow_nominal | delta0 | R | linearized | from_dp | l | name |
|---|---|---|---|---|---|---|---|---|---|
| 6000.0 | 6000.0 | 0.02 | 0.01 | 0.01 | 50.0 | false | true | 0.0001 | valve_003 |
| hRoo | AFlo | linearizeRadiation | m_flow_nominal | mSenFac | T_start | volume |
|---|---|---|---|---|---|---|
| 2.5 | 70.0 | true | 0.01 | 1.0 | 294.15 | 175.0 |
| gain | k | occupancy | name |
|---|---|---|---|
| [35; 70; 30] | 1/6/4 | 3600 * {7, 19} | occupancy_2 |
| Name | Azimuth | Construction Name | Surface | Tilt | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| externalwall_3 | 0.0 | cavitywallpartialfill_001 | 25.0 | wall | |||||||||||||||
| externalwall_4 | 90.0 | cavitywallpartialfill_001 | 25.0 | wall | |||||||||||||||
| externalwall_5 | 180.0 | cavitywallpartialfill_001 | 34.0 | wall | |||||||||||||||
| window_2 | 0.0 | ins2ar2020_001 | 5.0 | wall | |||||||||||||||
| window_3 | 180.0 | ins2ar2020_001 | 2.0 | wall | |||||||||||||||
| flooronground_1 | 90.0 | concreteslab_001 | 60.0 | floor | |||||||||||||||
| internal_space_001_space_002_cavitywall | 10.0 | cavitywall_001 | 20.0 | wall | |||||||||||||||
| internal_space_002_space_001_construction | 10.0 | construction_001 | 15.0 | wall | |||||||||||||||
| internal_space_002_space_003_cavitywallpartialfill | 10.0 | cavitywallpartialfill_001 | 22.0 | wall |
| TAir_nominal | dp_nominal | n | deltaM | fraRad | Q_flow_nominal | nEle | TRad_nominal | linearized | from_dp | T_a_nominal | T_b_nominal | mDry | VWat | name |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 293.15 | 0.0 | 1.24 | 0.01 | 0.3 | 2000.0 | 1 | 293.15 | false | false | 363.15 | 353.15 | 52.6 | 0.116 | radiator_001 |
| dpFixed_nominal | dpValve_nominal | deltaM | m_flow_nominal | delta0 | R | linearized | from_dp | l | name |
|---|---|---|---|---|---|---|---|---|---|
| 6000.0 | 6000.0 | 0.02 | 0.01 | 0.01 | 50.0 | false | true | 0.0001 | valve_001 |
| hRoo | AFlo | linearizeRadiation | m_flow_nominal | mSenFac | T_start | volume |
|---|---|---|---|---|---|---|
| 2.5 | 50.0 | true | 0.01 | 1.0 | 294.15 | 125.0 |
| gain | k | occupancy | name |
|---|---|---|---|
| [35; 70; 30] | 1/6/4 | 3600 * {7, 19} | occupancy_3 |
| Name | Azimuth | Construction Name | Surface | Tilt | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| externalwall_6 | 180.0 | construction_001 | 22.0 | wall | |||||||||||||||
| externalwall_7 | 180.0 | construction_001 | 17.0 | wall | |||||||||||||||
| externalwall_8 | 180.0 | construction_001 | 36.0 | wall | |||||||||||||||
| flooronground_2 | 90.0 | concreteslab_001 | 60.0 | floor | |||||||||||||||
| internal_space_002_space_003_cavitywallpartialfill | 10.0 | cavitywallpartialfill_001 | 22.0 | wall |
| TAir_nominal | dp_nominal | n | deltaM | fraRad | Q_flow_nominal | nEle | TRad_nominal | linearized | from_dp | T_a_nominal | T_b_nominal | mDry | VWat | name |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 293.15 | 0.0 | 1.24 | 0.01 | 0.3 | 2000.0 | 1 | 293.15 | false | false | 363.15 | 353.15 | 52.6 | 0.116 | radiator_002 |
| dpFixed_nominal | dpValve_nominal | deltaM | m_flow_nominal | delta0 | R | linearized | from_dp | l | name |
|---|---|---|---|---|---|---|---|---|---|
| 6000.0 | 6000.0 | 0.02 | 0.01 | 0.01 | 50.0 | false | true | 0.0001 | valve_002 |
Construction
| Name | c | epsLw | epsSw | k | rho | Thickness |
|---|---|---|---|---|---|---|
| concrete_001 | 900.0 | 0.88 | 0.55 | 1.4 | 2240.0 | 0.125 |
| concrete_001 | 900.0 | 0.88 | 0.55 | 1.4 | 2240.0 | 0.125 |
| Name | c | epsLw | epsSw | k | rho | Thickness |
|---|---|---|---|---|---|---|
| material_001 | 1000.0 | 0.85 | 0.85 | 0.035 | 2000.0 | 0.1 |
| material_002 | 1000.0 | 0.85 | 0.85 | 0.035 | 2000.0 | 0.1 |
| material_003 | 1000.0 | 0.85 | 0.85 | 0.035 | 2000.0 | 0.1 |
| Name | c | epsLw | epsSw | k | rho | Thickness |
|---|---|---|---|---|---|---|
| glass_001 | 840.0 | 0.84 | 0.67 | 1.0 | 2500.0 | 0.0038 |
| air_001 | 1006.0 | 0.0 | 0.0 | 0.0256 | 1.2 | 0.012 |
| glass_001 | 840.0 | 0.84 | 0.67 | 1.0 | 2500.0 | 0.0038 |
| Name | c | epsLw | epsSw | k | rho | Thickness |
|---|---|---|---|---|---|---|
| brick_001 | 800.0 | 0.88 | 0.55 | 0.89 | 1920.0 | 0.08 |
| air_001 | 1006.0 | 0.0 | 0.0 | 0.0256 | 1.2 | 0.03 |
| rockwool_001 | 800.0 | 0.8 | 0.8 | 0.035 | 100.0 | 0.1 |
| brickhollow_001 | 880.0 | 0.88 | 0.55 | 0.3 | 850.0 | 0.14 |
| gypsum_001 | 840.0 | 0.85 | 0.65 | 0.38 | 1120.0 | 0.015 |
| Name | c | epsLw | epsSw | k | rho | Thickness |
|---|---|---|---|---|---|---|
| glass_001 | 840.0 | 0.84 | 0.67 | 1.0 | 2500.0 | 0.006 |
| argon_001 | 522.0 | 0.0 | 0.0 | 0.0174 | 1.66 | 0.016 |
| glass_001 | 840.0 | 0.84 | 0.67 | 1.0 | 2500.0 | 0.006 |
| Name | c | epsLw | epsSw | k | rho | Thickness |
|---|---|---|---|---|---|---|
| brick_001 | 800.0 | 0.88 | 0.55 | 0.89 | 1920.0 | 0.08 |
| rockwool_001 | 800.0 | 0.8 | 0.8 | 0.035 | 100.0 | 0.1 |
| brickhollow_001 | 880.0 | 0.88 | 0.55 | 0.3 | 850.0 | 0.14 |
| gypsum_001 | 840.0 | 0.85 | 0.65 | 0.38 | 1120.0 | 0.015 |
Systems
| coefficients_for_efficiency_curve | diff_pressure | dp_nominal | dt_boi_nominal | dt_rad_nominal | effcur | fraction_of_nominal_flow_rate_where_flow_transitions_to_laminar | height_of_tank_without_insulation | if_actual_temperature_at_port_is_computed | nominal_heating_power | number_of_volume_segments | sca_fac_rad | tank_volume | temperature_used_to_compute_nominal_efficiency | thickness_of_insulation | use_linear_relation_between_m_flow_and_dp_for_any_flow_rate | nominal_mass_flow_radiator_loop | nominal_mass_flow_rate_boiler | v_flow | name |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| {0.9} | 5000*{2,1} | 5000.0 | 20.0 | 10.0 | Buildings.Fluid.Types.EfficiencyCurves.Constant | 0.1 | 2.0 | false | 2000.0 | 4 | 1.5 | 0.2 | 353.15 | 0.002 | false | 0.07142857142857142 | 0.07142857142857142 | 0.07142857142857142/1000*{0.5,1} | boiler_001 |